package com.younion.vo;

import cpcns.component.common.base.BaseVO;
import cpcns.persister.converter.IDomainObject;
import cpcns.persister.service.CompositeID;

import java.util.Date;
import java.util.List;

/**
 * 
 * 描述: 会员卡实体 实体类
 * 
 * @property label="会员卡实体" lower="cardentity" upper="CARDENTITY"
 *           instance="cardEntity" table="t_Card_Entity"
 * 
 * Copyright (c) 2009 Excellence Network Co.,LTD All right reserved.
 * 
 */
public class API_CardEntityVO extends BaseVO implements IDomainObject,
		Cloneable {

	/**  */
	private static final long serialVersionUID = -1L;

	/**
	 * 主键Id
	 * 
	 * @label 主键Id
	 * @code id
	 * @type NUMERIC
	 * @javaType Integer
	 * @pk instance="Id"
	 * @required true
	 * @index 1
	 * @oddeven 0
	 */
	private Integer id;

	/**
	 * 会员卡方案编码
	 * 
	 * @label 会员卡方案编码
	 * @code scheme_code
	 * @type VARCHAR
	 * @javaType String
	 * @show
	 * @length 15
	 * @index 4
	 * @oddeven 1
	 * @isAfterTwo 1
	 * @faint
	 */
	private String schemeCode;

	/**
	 * 会员卡名称
	 */
	private String cardName;

	/**
	 * 会员卡级别
	 * 
	 * @label 会员卡级别
	 * @code card_lever
	 * @type NUMERIC
	 * @javaType Integer
	 * @show
	 * @index 5
	 * @oddeven 2
	 * @isAfterTwo 2
	 */
	private Integer cardLever;

	/**
	 * 有效期开始
	 * 
	 * @label 有效期开始
	 * @code expiry_date_from
	 * @type TIMESTAMP
	 * @javaType java.util.Date
	 * @show
	 * @index 6
	 * @oddeven 1
	 * @isAfterTwo 1
	 */
	private Date expiryDateFrom;

	/**
	 * 有效期截止
	 * 
	 * @label 有效期截止
	 * @code expiry_date_to
	 * @type TIMESTAMP
	 * @javaType java.util.Date
	 * @show
	 * @index 7
	 * @oddeven 2
	 * @isAfterTwo 2
	 */
	private Date expiryDateTo;

	/**
	 * 申请方式
	 * 
	 * @label 申请方式
	 * @code apply_way
	 * @type NUMERIC
	 * @javaType Integer
	 * @show
	 * @index 8
	 * @oddeven 1
	 * @isAfterTwo 1
	 */
	private Integer applyWay;

	/**
	 * 基础折扣
	 * 
	 * @label 基础折扣
	 * @code base_discount
	 * @type VARCHAR
	 * @javaType String
	 * @show
	 * @length 10
	 * @index 9
	 * @oddeven 2
	 * @isAfterTwo 2
	 * @faint
	 */
	private String baseDiscount;

	/**
	 * 使用须知
	 * 
	 * @label 使用须知
	 * @code use_notes
	 * @type VARCHAR
	 * @javaType String
	 * @show
	 * @length 400
	 * @index 10
	 * @oddeven 1
	 * @isAfterTwo 1
	 * @faint
	 */
	private String useNotes;

	/**
	 * 未激活图片
	 * 
	 * @label 未激活图片
	 * @code nonactivated_pic
	 * @type VARCHAR
	 * @javaType String
	 * @show
	 * @length 40
	 * @index 13
	 * @oddeven 2
	 * @isAfterTwo 2
	 * @faint
	 */
	private String nonactivatedPic;

	/**
	 * 已激活图片
	 * 
	 * @label 已激活图片
	 * @code activated_pic
	 * @type VARCHAR
	 * @javaType String
	 * @show
	 * @isLast
	 * @length 40
	 * @index 14
	 * @oddeven 1
	 * @isAfterTwo 1
	 * @faint
	 */
	private String activatedPic;

	private API_CustomerVO customerVO;

	private String inputFileds;

	private Integer isRecommend;

	private Integer isHot;
	/**
	 * 福利
	 */
	private String welfare;
	/**
	 * 折扣信息
	 */
	private String agioInfo;

	/**
	 * 数量限制
	 * 
	 * @label 数量限制
	 * @code limit_amount
	 * @type NUMERIC
	 * @javaType Integer
	 * @show
	 * @index 11
	 * @oddeven 2
	 * @isAfterTwo 2
	 */
	private Integer limitAmount;

	/**
	 * 发卡数
	 * 
	 * @label 发卡数
	 * @code card_issue_amount
	 * @type NUMERIC
	 * @javaType Integer
	 * @show
	 * @index 12
	 * @oddeven 1
	 * @isAfterTwo 1
	 */
	private Integer cardIssueAmount;
	
	private CardLevelVO cardLevelVO;
	
	public Integer getLimitAmount() {
		return limitAmount;
	}

	public void setLimitAmount(Integer limitAmount) {
		this.limitAmount = limitAmount;
	}

	public Integer getCardIssueAmount() {
		return cardIssueAmount;
	}

	public void setCardIssueAmount(Integer cardIssueAmount) {
		this.cardIssueAmount = cardIssueAmount;
	}

	public Integer getIsHot() {
		return isHot;
	}

	public void setIsHot(Integer isHot) {
		this.isHot = isHot;
	}

	public String getInputFileds() {
		return inputFileds;
	}

	public void setInputFileds(String inputFileds) {
		this.inputFileds = inputFileds;
	}

	public Integer getIsRecommend() {
		return isRecommend;
	}

	public void setIsRecommend(Integer isRecommend) {
		this.isRecommend = isRecommend;
	}

	public API_CustomerVO getCustomerVO() {
		return customerVO;
	}

	public void setCustomerVO(API_CustomerVO customerVO) {
		this.customerVO = customerVO;
	}

	/**
	 * 
	 */
	public API_CardEntityVO() {
	}

	/**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * @return the schemeCode
	 */
	public String getSchemeCode() {
		return schemeCode;
	}

	/**
	 * @param schemeCode
	 *            the schemeCode to set
	 */
	public void setSchemeCode(String schemeCode) {
		this.schemeCode = schemeCode;
	}

	/**
	 * @return the cardLever
	 */
	public Integer getCardLever() {
		return cardLever;
	}

	/**
	 * @param cardLever
	 *            the cardLever to set
	 */
	public void setCardLever(Integer cardLever) {
		this.cardLever = cardLever;
	}

	/**
	 * @return the expiryDateFrom
	 */
	public Date getExpiryDateFrom() {
		return expiryDateFrom;
	}

	/**
	 * @param expiryDateFrom
	 *            the expiryDateFrom to set
	 */
	public void setExpiryDateFrom(Date expiryDateFrom) {
		this.expiryDateFrom = expiryDateFrom;
	}

	/**
	 * @return the expiryDateTo
	 */
	public Date getExpiryDateTo() {
		return expiryDateTo;
	}

	/**
	 * @param expiryDateTo
	 *            the expiryDateTo to set
	 */
	public void setExpiryDateTo(Date expiryDateTo) {
		this.expiryDateTo = expiryDateTo;
	}

	/**
	 * @return the applyWay
	 */
	public Integer getApplyWay() {
		return applyWay;
	}

	/**
	 * @param applyWay
	 *            the applyWay to set
	 */
	public void setApplyWay(Integer applyWay) {
		this.applyWay = applyWay;
	}

	/**
	 * @return the baseDiscount
	 */
	public String getBaseDiscount() {
		return baseDiscount;
	}

	/**
	 * @param baseDiscount
	 *            the baseDiscount to set
	 */
	public void setBaseDiscount(String baseDiscount) {
		this.baseDiscount = baseDiscount;
	}

	/**
	 * @return the useNotes
	 */
	public String getUseNotes() {
		return useNotes;
	}

	/**
	 * @param useNotes
	 *            the useNotes to set
	 */
	public void setUseNotes(String useNotes) {
		this.useNotes = useNotes;
	}

	/**
	 * @return the nonactivatedPic
	 */
	public String getNonactivatedPic() {
		return nonactivatedPic;
	}

	/**
	 * @param nonactivatedPic
	 *            the nonactivatedPic to set
	 */
	public void setNonactivatedPic(String nonactivatedPic) {
		this.nonactivatedPic = nonactivatedPic;
	}

	/**
	 * @return the activatedPic
	 */
	public String getActivatedPic() {
		return activatedPic;
	}

	/**
	 * @param activatedPic
	 *            the activatedPic to set
	 */
	public void setActivatedPic(String activatedPic) {
		this.activatedPic = activatedPic;
	}

	public CompositeID getCompositeID() {
		CompositeID _id = super.getCompositeID();
		_id.clear();
		if (id != null) {
			_id.addKey("id", id);
		}
		return _id;
	}

	public String getCardName() {
		return cardName;
	}

	public void setCardName(String cardName) {
		this.cardName = cardName;
	}

	public String getWelfare() {
		return welfare;
	}

	public void setWelfare(String welfare) {
		this.welfare = welfare;
	}

	public CardLevelVO getCardLevelVO() {
		return cardLevelVO;
	}

	public void setCardLevelVO(CardLevelVO cardLevelVO) {
		this.cardLevelVO = cardLevelVO;
	}

	public String getAgioInfo() {
		return agioInfo;
	}

	public void setAgioInfo(String agioInfo) {
		this.agioInfo = agioInfo;
	}
}
